#include<iostream>
#include<cstring>
#include<vector>
using namespace std;
bool cmp(string a, string b)
{
	if (a.size() != b.size()) {
		return a.size() > b.size();
	}
	for (int i = 0; i < a.size(); i++) {
		if (a[i] != b[i]) {
			return a[i] > b[i];
		}
	}
	return 1;
}
vector<int> Sub(vector<int>& A, vector<int>& B)
{
	vector<int>C;
	int t = 0;
	for (int i = 0; i < A.size(); i++) {
		t = A[i] - t;
		if (i < B.size()) {
			t -= B[i];
		}
		C.push_back((t + 10) % 10);
		if (t < 0) {
			t = 1;
		}
		else {
			t = 0;
		}
	}
	while (C.size() > 1 && C.back() == 0) {
		C.pop_back();
	}
	return C;
}
int main()
{
	string a, b;
	cin >> a >> b;
	vector<int>A, B;
	for (int i = a.size() - 1; i >= 0; i--) {
		A.push_back(a[i] - '0');
	}
	for (int i = b.size() - 1; i >= 0; i--) {
		B.push_back(b[i] - '0');
	}
	if (cmp(a, b)) {
		auto C = Sub(A, B);
		for (int i = C.size() - 1; i >= 0; i--) {
			cout << C[i];
		}
	}
	else {
		auto C = Sub(B, A);
		cout << "-";
		for (int i = C.size() - 1; i >= 0; i--) {
			cout << C[i];
		}
	}
	return 0;
}